package com.quanyan.runningriding.service;


import com.quanyan.api.APIResponse;
import com.quanyan.common.Plugin.PageObj;
import com.quanyan.runningriding.entity.vo.run.VideoVo;
import com.quanyan.runningriding.entity.vo.run.req.RunVideoFirstType;
import com.quanyan.runningriding.entity.vo.run.req.RunVideoSecondType;
import com.quanyan.runningriding.entity.vo.run.resp.*;

import java.util.List;


/**
 * RunVideoService
 *
 * @author Tu Chun
 * @date 2016/8/23
 */
public interface RunVideoService {

    APIResponse<?> batchUploadVideo(List<VideoVo> VideoVos);

    PageObj<List<VideoVo>> videoList(String name, Byte firstType,String firstTypeName,Byte secondType,String secondTypeName, Integer pageNum, Integer pageSize);

    APIResponse<?> updateVideo(VideoVo VideoVo);

    APIResponse<?> deleteVideo(Integer VideoId);

    APIResponse<List<VideoType>> getVideoTypeList();

    PageObj<VideoTypeDetail> getVideoTypeDetail(Byte type, Integer pageNum, Integer pageSize);


    APIResponse<?> editFirstType(RunVideoFirstType firstType);

    APIResponse<?> deleteFirstType(Byte firstType);


    APIResponse<?> editSecondType(RunVideoSecondType secondType);

    APIResponse<?> deleteSecondType(Byte firstType, Byte secondType);


    APIResponse<List<VideoTypeCollection>> showTypeList();

    APIResponse<List<VideoFirstTypeSimple>> getFirstTypeList();

    APIResponse<List<VideoSecondTypeSimple>> getSecondTypeList(Byte firstType);

    APIResponse<?> userVideoRecord(String userId, Integer videoId);

    APIResponse<List<VideoVo>> videoRecommend(String userId, Double distance, Long time,Long avgPace);
}
